§ Fox3.0 APP打包指南(Android)

§ 初始版本包说明

初始版本包是用于在安装app后,第一次打开APP后解压的资源。如下图所示,版本包中一般包含两个文件夹: version_architecture.png-68.1kB

§ configuration

放置配置文件,其中client.properties是主要的配置文件,配置说明如下

    #交易资源地址
    web/mainApp=fox

    #主工程回退键事件
    web/backAction=javascript:fox.custom.back()

    #小程序回退键事件
    web/appBackAction=javascript:fox.custom.back()

    #安全配置
    #security/scopes=[]
    security/scopes=[]

    #是否启用更新
    version/updateEnabled=true

    #版本服务器地址
    version/address=http://139.199.79.118:9705

    #版本服务器连接策略  radom/options
    version/connectPolicy=options

    #更新任务(requestPath,savePath,needRestart)
    version/updateTasks = [update/app/configuration/client.properties,configuration/client.properties,true];fox

    #APK更新任务(requestPath,savePath)
    version/apkUpdateTasks=[update/app/apk,version/apk]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

启动页面支持两种配置方式

  • web/mainApp 直接配置主工程名称的方式,外壳启动时会自动把前端资源从服务端拉取下来 需要开启自动更新功能
  • web/startUrl 直接配置启动页面url,支持http local 远程和本地两种方式,可以不开启自动更新功能

::: tips 如果采用配置主工程名的方式,服务端需要配置多个目录 :::

服务端更新目录

  • update/app/apk
  • update/app/configuration
  • update/app/workspace

web主程序 如需要更新主工程名为fox的前端工程 需要建立update/app/workspace/fox目录,并且在fox目录内放入全部web资源,fox下直接是web资源

§ workspace

放置web资源,内部结构如下

  • main_app 主工程(名称可改),必须与client.properties中得入口APP名保持一致
  • h5_apps 子工程目录,可多个目录名和应用名一致
  • cdn 公共JS、CSS库目录,是平台CND路径的本地缓存目录

PS:初始版本包的示例一般会在源代码包的version文件夹下

§ 初始版本包打包

初始版本包打包有两种方式,分别为在线打包手工打包,下面我只介绍手工打包。

§ 步骤一

选中workspace和configuration目录,并使用zip方式压缩这两个目录,切记这两个目录是是顶层目录,他们是不允许有父亲目录的

§ 步骤二

把步骤一产生的压缩包,改名app对应的包名,包名可以在android工程中的app模块中的build.gradle文件获取 package_name.png-198.1kB

§ 步骤三

把初始版本包压缩包,放入android工程中app模块下assets/version目录下。 version_place.jpg-55.1kB

§ APP打包

APP打包需要使用android studio,请预先准备环境。

§ 步骤一

选择android studio顶部菜单Build->Generate Signed Bundle/APK,并打开向导选择APK,点击next build_step_1.jpg-168.7kB

§ 步骤二

选择已有的签名文件或创建新签名文件,点击next build_step_2.jpg-168.3kB

§ 步骤三

选择需要打包的package,并勾上签名版本,点击finish,打包完成后IDE会弹出提示,并提示apk所在目录。 build_step_3.jpg-101kB

§ 多渠道打包说明

在我们开发过程中,通常需要打包几个APK,如开发、UAT和生产。如果同时三份代码,那么维护就比较麻烦了。多渠道打包的办法就能很好的解决这个问题。具体的办法是在app模块中的build.gradle文件中的productFlavors节点中添加配置,如下分别有pad_demo和phone_demo两个flavor,我们在打包的过程中选择所需的flavor进行打包即可。

    productFlavors {
        pad_demo {
            applicationId "fox.app.pad"
            versionCode 1
            versionName "1.0.0"
            minSdkVersion 21
            targetSdkVersion 22
            manifestPlaceholders = [app_name: "移动平台(PAD)", icon: "@mipmap/ic_launcher_fox",bdkey:"ixVXFlhEFLSAXtA2IVeNF0CNw2chONRQ",screenOrientation:"landscape"]
            ndk {
                abiFilters  'armeabi-v7a'
            }
            dimension "channel"
        }

        phone_demo {
            applicationId "fox.app.phone"
            versionCode 2
            versionName "1.0.1"
            minSdkVersion 21
            targetSdkVersion 22
            manifestPlaceholders = [app_name: "移动平台", icon: "@mipmap/ic_launcher_fox",bdkey:"ixVXFlhEFLSAXtA2IVeNF0CNw2chONRQ",screenOrientation:"portrait"]
            ndk {
                abiFilters  'armeabi-v7a'
            }
            dimension "channel"
        }
    }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
最后更新于: 7/5/2022, 5:29:52 PM